Algorithms, Recursion and Induction: Euclid and Fibonacci
نویسنده
چکیده
The project provides an opportunity to introduce students to the notion of algorithms, recursion and induction. It allows them to explore the interrelationship between recursion and iteration in a mathematical sense. Simultaneously, it introduces them to the idea of computational efficieny and rate of growth of functions. It provides a setting where students can perform basic efficiency analysis of an algorithm using induction which reinforces the usefulness of learning the technique. By judiciously selecting the tasks from the list of all tasks, the project can be used in a sophomore or junior level discrete mathematics or algorithms course. The instructor should consider spending more time on tasks in section 1 to ensure that the students feel comfortable with simple recursive definitions if they are not familiar with them already.
منابع مشابه
A New Parallel Matrix Multiplication Method Adapted on Fibonacci Hypercube Structure
The objective of this study was to develop a new optimal parallel algorithm for matrix multiplication which could run on a Fibonacci Hypercube structure. Most of the popular algorithms for parallel matrix multiplication can not run on Fibonacci Hypercube structure, therefore giving a method that can be run on all structures especially Fibonacci Hypercube structure is necessary for parallel matr...
متن کاملGolden and Alternating, fast simple O(lg n) algorithms for Fibonacci
Two very fast and simple O(lg n) iteration algorithms for individual Fibonacci numbers are given and compared to competing algorithms. A simple O(lg n) recursion is derived that can also be applied to Lucas. A formula is given to estimate the largest n, where Fn does not overflow the implementation’s data type. The danger of timing runs on input that is too large for the computer representation...
متن کاملAnalysis of Fast Versions of the Euclid Algorithm
There exist fast variants of the gcd algorithm which are all based on principles due to Knuth and Schönhage. On inputs of size n, these algorithms use a Divide and Conquer approach, perform FFT multiplications and stop the recursion at a depth slightly smaller than lg n. A rough estimate of the worst–case complexity of these fast versions provides the bound O(n(log n) log logn). However, this e...
متن کاملRegularity of the Euclid Algorithm; application to the analysis of fast GCD Algorithms
There exist fast variants of the gcd algorithm which are all based on principles due to Knuth and Schönhage. On inputs of size n, these algorithms use a Divide and Conquer approach, perform FFT multiplications with complexity μ(n) and stop the recursion at a depth slightly smaller than lgn. A rough estimate of the worst–case complexity of these fast versions provides the bound O(μ(n) log n). Ev...
متن کاملRecursion Schemes for Dynamic Programming
Dynamic programming is an algorithm design technique, which allows to improve efficiency by avoiding re-computation of identical subtasks. We present a new recursion combinator, dynamorphism, which captures the dynamic programming recursion pattern with memoization and identify some simple conditions when functions defined by structured general recursion can be redefined as a dynamorphism. The ...
متن کامل